package org.ww.order;

import com.alibaba.cloud.seata.GlobalTransactionAutoConfiguration;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.amqp.rabbit.annotation.EnableRabbit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

/**
 * 分布式事务开启步骤：
 *  以下是使用AT模式实现：需要提前在每个数据库中导入undo-log.sql
 *  1、引入依赖:
 *  spring-cloud-starter-alibaba-seata   会发现给我们引入了一个seata-all:0.7.1
 *  所以后续我们启动seata服务器的时候需要启动0.7.1的版本
 *  2、修改seata配置，启动seata服务器
 *  registry.conf 更改注册中心使用nacos 更改配置文件file
 *  3、配置代理数据源
 *  详情看SeataConfig配置文件
 *  4、将registry.conf和file.conf放在每个服务下
 *     修改file文件中的vgroup_mapping.gmall-order-fescar-service-group（后边必须是服务名+fescar-service-group）
 *  5、标注全局事务注解@GlobalTransactional 每个小业务下标注本地事务注解@@Transactional
 *
 *
 */
@EnableRedisHttpSession
@EnableRabbit
@EnableFeignClients
@MapperScan("org.ww.order.dao")
@SpringBootApplication(scanBasePackages = "org.ww",exclude = GlobalTransactionAutoConfiguration.class)
public class GulimallOrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallOrderApplication.class, args);
    }

}
